home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_univnewlines.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  4KB  |  118 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.4)
  3.  
  4. import unittest
  5. import os
  6. import sys
  7. from test import test_support
  8. if not hasattr(sys.stdin, 'newlines'):
  9.     raise test_support.TestSkipped, 'This Python does not have universal newline support'
  10.  
  11. FATX = 'x' * 2 ** 14
  12. DATA_TEMPLATE = [
  13.     'line1=1',
  14.     "line2='this is a very long line designed to go past the magic " + 'hundred character limit that is inside fileobject.c and which ' + 'is meant to speed up the common case, but we also want to test ' + "the uncommon case, naturally.'",
  15.     'def line3():pass',
  16.     "line4 = '%s'" % FATX]
  17. DATA_LF = '\n'.join(DATA_TEMPLATE) + '\n'
  18. DATA_CR = '\r'.join(DATA_TEMPLATE) + '\r'
  19. DATA_CRLF = '\r\n'.join(DATA_TEMPLATE) + '\r\n'
  20. DATA_MIXED = '\n'.join(DATA_TEMPLATE) + '\r'
  21. DATA_SPLIT = [ x + '\n' for x in DATA_TEMPLATE ]
  22. del x
  23.  
  24. class TestGenericUnivNewlines(unittest.TestCase):
  25.     READMODE = 'U'
  26.     WRITEMODE = 'wb'
  27.     
  28.     def setUp(self):
  29.         fp = open(test_support.TESTFN, self.WRITEMODE)
  30.         fp.write(self.DATA)
  31.         fp.close()
  32.  
  33.     
  34.     def tearDown(self):
  35.         
  36.         try:
  37.             os.unlink(test_support.TESTFN)
  38.         except:
  39.             pass
  40.  
  41.  
  42.     
  43.     def test_read(self):
  44.         fp = open(test_support.TESTFN, self.READMODE)
  45.         data = fp.read()
  46.         self.assertEqual(data, DATA_LF)
  47.         self.assertEqual(repr(fp.newlines), repr(self.NEWLINE))
  48.  
  49.     
  50.     def test_readlines(self):
  51.         fp = open(test_support.TESTFN, self.READMODE)
  52.         data = fp.readlines()
  53.         self.assertEqual(data, DATA_SPLIT)
  54.         self.assertEqual(repr(fp.newlines), repr(self.NEWLINE))
  55.  
  56.     
  57.     def test_readline(self):
  58.         fp = open(test_support.TESTFN, self.READMODE)
  59.         data = []
  60.         d = fp.readline()
  61.         while d:
  62.             data.append(d)
  63.             d = fp.readline()
  64.         self.assertEqual(data, DATA_SPLIT)
  65.         self.assertEqual(repr(fp.newlines), repr(self.NEWLINE))
  66.  
  67.     
  68.     def test_seek(self):
  69.         fp = open(test_support.TESTFN, self.READMODE)
  70.         fp.readline()
  71.         pos = fp.tell()
  72.         data = fp.readlines()
  73.         self.assertEqual(data, DATA_SPLIT[1:])
  74.         fp.seek(pos)
  75.         data = fp.readlines()
  76.         self.assertEqual(data, DATA_SPLIT[1:])
  77.  
  78.     
  79.     def test_execfile(self):
  80.         namespace = { }
  81.         execfile(test_support.TESTFN, namespace)
  82.         func = namespace['line3']
  83.         self.assertEqual(func.func_code.co_firstlineno, 3)
  84.         self.assertEqual(namespace['line4'], FATX)
  85.  
  86.  
  87.  
  88. class TestNativeNewlines(TestGenericUnivNewlines):
  89.     NEWLINE = None
  90.     DATA = DATA_LF
  91.     READMODE = 'r'
  92.     WRITEMODE = 'w'
  93.  
  94.  
  95. class TestCRNewlines(TestGenericUnivNewlines):
  96.     NEWLINE = '\r'
  97.     DATA = DATA_CR
  98.  
  99.  
  100. class TestLFNewlines(TestGenericUnivNewlines):
  101.     NEWLINE = '\n'
  102.     DATA = DATA_LF
  103.  
  104.  
  105. class TestCRLFNewlines(TestGenericUnivNewlines):
  106.     NEWLINE = '\r\n'
  107.     DATA = DATA_CRLF
  108.  
  109.  
  110. class TestMixedNewlines(TestGenericUnivNewlines):
  111.     NEWLINE = ('\r', '\n')
  112.     DATA = DATA_MIXED
  113.  
  114.  
  115. def test_main():
  116.     test_support.run_unittest(TestNativeNewlines, TestCRNewlines, TestLFNewlines, TestCRLFNewlines, TestMixedNewlines)
  117.  
  118.